/**
 * 
 * @param {string} url 请求地址
 * @param {string} params 请求参数
 * @param {object} headers 请求头
 * @param {*} dataType 后端返回的数据类型
 * @returns 返回Promise对象
 */
 function get(url,params,headers={},dataType){
    return new Promise((resolve,reject)=>{
        const xhr=new XMLHttpRequest();
        xhr.onreadystatechange=()=>{
        if(xhr.readyState===4){
            if(xhr.status===200){
                let res=xhr.responseText;
                switch(dataType){
                    case 'JSON':
                        res=JSON.parse(res);
                         resolve(res);
                        break;
                    default:
                        break;
                }
            }
            else{
                reject(xhr.status);
            }
        }
        
    }

        xhr.open('get',`${url}?${params}`);
        for(let key in headers){
        xhr.setRequestHeader(key,headers[key]);
        }

        xhr.send();
    })
}



/**
 * 发送post请求
 * @param {String} url 请求地址
 * @param {String} params 请求参数
 * @param {Function} headers 请求头
 * @returns Promise 里面存放了成功和失败的数据
 */
 function post(url,params,headers)
 {
     return new Promise((resolve,reject)=>{
         const xhr = new XMLHttpRequest
         xhr.onreadystatechange = function()
         {
             if(xhr.readyState === 4)
             {
                 if(xhr.status === 200)
                 {
                     let res = JSON.parse(xhr.responseText)
                     resolve(res)
                 }else{
                     reject(xhr.status)
                 }
             }
         }
         xhr.open('post',url)
         xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
         if(headers) headers(xhr)
         xhr.send(params)
     })
 }